package com.company;
import java.util.Scanner;
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        //编写程序，现在有一个数组int[] array={3,2,5,6,8,4,1,9,7};，先打印输出奇数，再输出偶数。
        /*int[] array = {3, 2, 5, 6, 8, 4, 1, 9, 7};
        for (int i = 0; i < array.length; i++) {
            if (array[i] % 2 != 0) {
                System.out.println(array[i] + "是奇数");
            }
        }
        System.out.println("------------------------");
        for (int i = 0; i < array.length; i++) {
            if (array[i] % 2 == 0) {
                System.out.println(array[i] + "是偶数");
            }
        }*/



        //数组查找操作：定义一个长度为10 的一维字符串数组，在每一个元素存放一个单词；
        // 然后运行时从命令行输入一个单词，程序判断数组是否包含有这个单词，
        // 包含这个单词就打印出“Yes”，不包含就打印出“No”。
        /*String[] array = {"hello", "love", "phone", "number", "student", "java", "computer", "tool", "work", "game"};
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个单词：");
        String word = input.next();
        boolean include = false;//标记变量，false表示不包含，true表示包含
        for (int i = 0; i < array.length; i++) {
            if (word.equals(array[i])) {
                include = true;
                break;
            }
        }
        if (include) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }*/


        //获取数组最大值和最小值操作：利用Java的Math类的random()方法
        // 随机生成10个数，填充一个数组，并找出产生10个随机数中最大的、最小的数。
        // 提示：使用 int num=(int)(100*Math.random());
        /*int[] nums = new int[10];
        for (int i = 0; i < nums.length; i++) {
            nums[i] = (int) (Math.random() * 10);//每产生一个随机数就放进数组里
        }
        System.out.println(Arrays.toString(nums));//用字符串形式把数组里每个元素打印出来

        int max, min;
        max = min = nums[0];
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] > max) {
                max = nums[i];
            }
            if (nums[i] < min) {
                min = nums[i];
            }
        }
        System.out.println("产生10个随机数中最大的数是：" + max + "，最小的数是：" + min);*/


        //现在有如下的一个数组：   int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}   
        // 要求将以上数组中值为0的项去掉，将不为0的值存入一个新的数组，生成的新数组为：
        // int newArr [] ={1,3,4,5,6,6,5,4,7,6,7,5}  
        //提示： 确定出不为0的个数，这样可以开辟新数组；从旧的数组之中，取出内容，并将其赋给新开辟的数组

        /*int count = 0;
        int[] oldArr = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] != 0) {
                count++;//统计去掉0之后的数组长度
            }
        }
        int[] newArr = new int[count];
        int j = 0;//作为newArr的下标；

        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] != 0) {
                newArr[j] = oldArr[i];//将原始数组里不为0的元素分别赋值给新数组里的元素
                j++;
            }
        }
        System.out.println("生成新的数组为：" + Arrays.toString(newArr));*/


        //现在给出两个数组：数组a："1,7,9,11,13,15,17,19"，数组b："2,4,6,8,10"，两个数组合并为数组c。
        /*int[] a = {1, 7, 9, 11, 13, 15, 17, 19};//长度8
        int[] b = {2, 4, 6, 8, 10};//长度5
        int size = a.length + b.length;//新的数组c的长度等于数组a和数组b长度的和
        int[] c = new int[size];
        int j = 0;//数组b的下标
        int k = a.length;
        for (int i = 0; i < size; i++) {
            if (i < a.length) {//判断是否超过数组a的长度
                c[i] = a[i];//将数组a的元素赋值给新数组c
            } else if (i >= a.length && i < size) {
                c[k] = b[j];//数组b的第1个元素所在下标是新数组c的第9个元素所在下标
                k++;
                j++;
            }
        }
        Arrays.sort(c);//该方法用于将数组进行从小到大的顺序排列
        System.out.println("合并后的数组为：" + Arrays.toString(c));*/


    }
}
